QCTools (Quality Control Tools for Video Preservation) is a free and open source software tool that helps users analyze and understand their digitized video files through use of audiovisual analytics and filtering. QCTools is funded by the National Endowment for the Humanities and the Knight Foundation, and developed by the Bay Area Video Coalition.
Documentation on how to use QCTools is available within the application under the Help tab or online here.
QCTools allows archivists, curators, preservationists and other moving image professionals to identify, filter, and assess all manner of video errors and anomalies. The tool is flexible, providing a variety of viewing options, as well the ability to create and export reports (gzip, or .gz files, formatted according to the ffprobe xml standard).
For more information about the project, or to download the latest Mac/Windows/Ubuntu release, please visit BAVC's QCTools homepage
An overview of QCTools and how to use it can be found here.
Go to http://bavc.org/qctools or Releases and download QCTools for your operating system. Initiate the install by double-clicking the icon, and follow the steps. New releases of QCTools will be periodically available at the QCTools Project website.
Of if you have homebrew, get the latest release by running:
brew install qctools
Grab one of the QCTools daily builds provided by MediaArea. These builds will reflect git-master and are not tied to any particular release.
Currently QCTools accepts a variety of video formats, including *.avi, *.mkv, *.mov, and *.mp4, as well as a diverse selection of codecs. By relying upon ffmpeg's libavcodec and libformat libraries, QCTools can support a wide variety of digital audiovisual formats.
QCTools offers a variety of Graphing Options including: YUV Values, Temporal Outliers (TOUT), Vertical Line Repetitions (VREP), Broadcast Range (BRNG), Crop Width and Height (CropW and CropH), and Peak Signal to Noise Ratio (PSNRf) and Mean Square Error (MSEf) differences per frame.
The QCTools preview window is intended as an analytical playback environment that allows the user to review video through multiple filters simultaneously. The playback window includes two viewing windows which may be set to different combinations of filters.
The QCTools document (built upon FFprobe's xml expression), is designed to be self-descriptive, storing analytical metadata about video and audio frames.
Incorporating a set of open source libraries developed under the ffmpeg project, the QCTools document offers metadata values derived from four evaluative filters: signalstats, cropdetect, psnr, and ebur128.
QCTools files can also be generated via the command line with qcli
. After installing it, you can run qcli -i [your-file-here]
to generate a qctools report based on your file. By default, this file will be saved to the same directory and named after the file, e.g. test.qctools.xml.gz
if your file is named test.mkv
. This can easily be wrapped in a script to create many qctools files during the preservation process.
qcli
can be installed via homebrew with:
brew install qcli
In conjunction with using QCTools, consider using the A/V Artifacts Atlas to gain further clarification and appropriate descriptive terminology for any anomalies or errors you might encounter in your video content. Users are invited to contribute unidentified errors they come across to the atlas.
Please read our contributing guidelines in this dedicated document. QCTools is released with a Contributor Code of Conduct, and by participating in this project, you agree to abide by its terms.
QCTools deliverable is licensed under a GPLv3 License. QCTools GUI part and FFmpeg statistics filter are licensed under the 3-Clause BSD license. This software uses libraries from the FFmpeg project under the GPLv3, Qt and Qwt libraries under the LGPLv2.1, OpenJPEG library under the 2-Clause BSD license. See our License page for more details.